package com.py.credit.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.framework.core.common.Page;


public interface ReportGetDao {
	/**
	 * 
	* @Title: selectAllReportGet
	* @Description: 查询报告信息
	* @param @return    参数
	* @return List<Map<Object,Object>>    返回类型
	* @author zwf
	* @date 2018年10月24日
	* @throws
	 */
	public List<Map<String,Object>> selectAllReportGetByConditionForPage(
			@Param(value = "reportType") String reportType,
			@Param(value = "mainType") String mainType,
			@Param(value = "recieveStatus") String recieveStatus,
			 @Param(value = "columns") List<String> columns,
	         @Param(value = "additionalColumns") String[] additionalColumns,
	          @Param(value = "conditions") List<String> condition,
			@Param(value = "page") Page page);
	/**
	 * 
	* @Title: selectReportHistoryForPage
	* @Description: TODO查询领取历史
	* @param @param lqr
	* @param @param page
	* @param @return    参数
	* @return List<Map<String,Object>>    返回类型
	* @author zwf
	* @date 2018年10月24日
	* @throws
	 */
	public List<Map<String,Object>> selectReportHistoryForPage(@Param(value = "bgbh") String bgbh,
			@Param(value = "lqr") String lqr,
			@Param(value = "page") Page page);
	/**
	 * 
	* @Title: updateReportshzt
	* @Description: 修改领取状态
	* @param @param bgbh    参数
	* @return void    返回类型
	* @author zwf
	* @date 2018年10月24日
	* @throws
	 */
	public void updateReportshzt(@Param(value = "bgbh") String bgbh);
	/**
	 * 
	* @Title: insertReportHistory
	* @Description: TODO新增领取历史
	* @param @param id
	* @param @param lqr
	* @param @param fileid
	* @param @param lqtype
	* @param @param lqbz    参数
	* @return void    返回类型
	* @author zwf
	* @date 2018年10月24日
	* @throws
	 */
	public void insertReportHistory(@Param(value = "bgbh") String bgbh,
			@Param(value = "lqr") String lqr,
			@Param(value = "fileid") String fileid,
			@Param(value = "lqtype") String lqtype,
			@Param(value = "lqbz") String lqbz,
			@Param(value = "id") String id);
	/**
	 * 
	* @Title: selectOneReportUpdate
	* @Description: 用户上传资料下载
	* @param @param id
	* @param @return    参数
	* @return Map<String,Object>    返回类型
	* @author zwf
	* @date 2018年10月25日
	* @throws
	 */
	public Map<String,Object> selectOneReportUpdate(@Param(value = "id") String id);
	/**
	 * 
	* @Title: selectQTReportGetByConditionForPage
	* @Description:前台 报告查询高级查询
	* @param @param columns
	* @param @param additionalColumns
	* @param @param condition
	* @param @param page
	* @param @return    参数
	* @return List<Map<String,Object>>    返回类型
	* @author zwf
	* @date 2018年10月26日
	* @throws
	 */
	public List<Map<String,Object>> selectQTReportGetByConditionForPage(
			@Param(value = "reportType") String reportType,
			@Param(value = "mainType") String mainType,
			@Param(value = "columns") List<String> columns,
	         @Param(value = "additionalColumns") String[] additionalColumns,
	          @Param(value = "conditions") List<String> condition,
			@Param(value = "page") Page page
			);
	/**
	 * 
	* @Title: selectQTReportGetHistoryByConditionForPage
	* @Description: 前台历史查询
	* @param @param columns
	* @param @param additionalColumns
	* @param @param condition
	* @param @param page
	* @param @return    参数
	* @return List<Map<String,Object>>    返回类型
	* @author zwf
	* @date 2018年10月26日
	* @throws
	 */
	public List<Map<String,Object>> selectQTReportGetHistoryByConditionForPage(
			@Param(value = "bgbh") String bgbh,
			@Param(value = "columns") List<String> columns,
	         @Param(value = "additionalColumns") String[] additionalColumns,
	          @Param(value = "conditions") List<String> condition,
			@Param(value = "page") Page page
			);
	
	public void  insertPrintHistory(@Param(value = "evalId") String evalId,@Param(value = "score") String score,@Param(value = "userId") String userId);


	public List<Map> selectPrintHistory(@Param(value = "id") String id);
	
	public List<Map<String,String>> selectEnterpriseByPc(@Param(value = "tableName") String tableName,@Param(value = "pcId") String pcId);

	public int updateReportStatus(@Param(value = "table") String table,@Param(value = "reportStatus") String reportStatus,@Param(value = "id") String id);

	public int updateReportStatusByBgbh(@Param(value = "table") String table,@Param(value = "reportStatus") String reportStatus,@Param(value = "bgbh") String bgbh);
	
	public String  selectTemplateUrl(@Param(value = "tablePc") String tablePc,@Param(value = "pcId") String pcId);
	
	public Map<String,String> selectPcDetail(@Param(value = "table") String table,@Param(value = "tybm") String tybm,@Param(value = "pcId") String pcId);
	public void updateReportStatusBypcId(@Param(value = "table") String table, @Param(value = "reportStatus") String reportStatus, @Param(value = "pcId") String pcId);
	
}
